-> TD 5 <-
![]()
//***********************************************************************
//* *
//* Recherche des nombres premiers *
//* *
//***********************************************************************
#include <stdio.h>
#include <conio.h>
struct boite
{
int valeur;
boite* suivant;
};
//déclarations des fonctions
void fait_le_menage(boite*);
boite* inserer_boite(boite*,int);
void affiche_liste(boite*);
int est_premier(boite*,int);
//corps des fonctions :
void fait_le_menage(boite* laboite) // enl�ève toutes les variables dynamiques
// ATTENTION : à la sortie, laboite pointe
{ // n'importe o�ù !!!!!
boite* courant=laboite;
boite* ausuivant;
while(courant!=NULL)
{
ausuivant=courant-> suivant;
delete courant; courant=ausuivant;
}
}
inserer_boite(boite* laliste,int lavaleur) //ins�ère une boite de valeur "lavaleur" �à la fin de la liste
{
boite* index=laliste;
boite* celui_d_avant;
boite* le_petit_nouveau;
//on cr�ée la boite
le_petit_nouveau=new boite;
le_petit_nouveau->valeur=lavaleur;
le_petit_nouveau->suivant=NULL;
if(laliste==NULL) //c'est la premi�ère boite
{
return le_petit_nouveau;
}
else //c'est pas la premi�ère boite
{
//on va pointer sur le dernier élément
while(index!=NULL)
{
celui_d_avant=index;
index=index->suivant;
}
//on met la dernière boite
celui_d_avant->suivant=le_petit_nouveau;
return laliste;
}
}
void affiche_liste(boite* laboite) //affiche... une liste
{
boite* latete=laboite;
while(latete!=NULL)
{
printf("%d ",(*latete).valeur);
latete=(*latete).suivant;
}
}
int est_premier(boite* laliste,int lavaleur) //regarde si "lavaleur" est un entier
{
boite* index=laliste;
while(index!=NULL)
{
if(((lavaleur%index->valeur)==0)&(index->valeur!=1)) return 0;
index=index->suivant;
}
return 1;
}
//fonction principale
void main()
{
int i,j;
boite* liste_premiers=NULL;
clrscr();
printf("Afficher les nombres premiers infèrieurs à quel nombre ? ");
scanf("%d",&i);
for(j=1;j<=i;j++)
if(est_premier(liste_premiers,j)) liste_premiers=inserer_boite(liste_premiers,j);
affiche_liste(liste_premiers);
getch();
}
Cliquez ICI
pour charger le code source.
![]()
|
|
|
|
|
| Home Page. | Index des TDS et TPs | TD 3 | TD 7 |